# encoding: utf-8


class Protocolo(object):

    def __init__(self):
        self._comando = ""
        self._argumentos = ""

    def set_comando(self, nuevo_comando):
        self._comando = nuevo_comando

    def set_argumentos(self, nuevos_argumentos):
        self.argumentos = nuevos_argumentos

    def run(self):
        if (self._comando == "get_metadata"):
            return self._get_metadata()
        elif (self._comando == "quit"):
            print "correr quit"
        else:
            print "Comando Invalido, romper todo"
            return False # pero esto mezclaria si hubo un error por comando o argumento

    def _get_metadata(self): # ahora devuelvo True si corrio bien
        print "correr get_metadata:"
        #chequear argumentos, cantidad y tipos
        args = self._argumentos.split()
        if (len(args) != 1):
            print "Argumentos invalidos para este comando"
            # como informamos que se produjo un error?
            return False
        print "seguir la ejecucion de metadata, me pasaron un solo argumento.."
        return True

    def _quit(self):
        # chequear argumentos, cantidad y tipos
        print "correr quit"
